The need to integrate as much functionality on one integrated circuit (IC), has led to the development of more and more mixed-signal ICs, comprising at least one digital circuit and at least one analog circuit. These ICs usually contain a large digital circuit, together with a small analog circuit. For example, an analog-to-digital converter can be integrated together with a baseband digital signal processor on a single IC.
These mixed-signal ICs require careful analysis of the interaction between the digital and analog part: the digital part will create noise particularly from switching actions and the leading and trailing edges of digital signals, which will degrade the performance of the analog circuits. A major part of this noise coupling occurs via the common substrate, e.g. a semiconductor substrate.
For small circuits this effect can be analyzed in suitable simulation programs such as SPICE, by adding resistors and capacitors to the original circuit description which models the substrate.
But for large digital circuits (with, for example, millions of transistors) SPICE can no longer be used economically to simulate the substrate noise coupling: the simulation time and memory requirement are too high. Therefore another simulation approach is needed to analyze to substrate noise coupling in large mixed-signal ICs.
Within a digital system one can distinguish gates, being small predefined digital subsystems. When a digital system is operational, said gates are switching, meaning computing an output based on an input, said computing typically being steered by a clock signal. Typically digital signals have fast leading and trailing edges. So when said digital system is operational, meaning executing its functionality, switching events of each of said gates can be recognized. A gate can have a plurality of switching events.
Electronic systems, being of analog, digital or mixed type, are formed on a substrate, typically a semi-conducting substrate, such as silicon, via a variety of processing steps. Within electronic systems one can distinguish between analog and digital systems. Due to the more frequent appearance of mixed type electronic systems wherein an analog part and a digital part can be recognized, the need for methods for analyzing the impact of one part on the other. Indeed although said parts are distinct, they are still coupled, meaning influencing each other, as they are formed on the same substrate. The impact analyzing methods are in particular very important in mixed type designs wherein the possibilities for influence limiting approaches are less easy applicable.
An important interaction between digital parts of an electronic system, the digital part further denoted the digital system, and analog parts of an electronic system, the analog part further denoted the analog system, is due to the so-called noise injected by said digital system on said substrate, and hence influencing said analog system via said substrate.
While the overall noise injected in said substrate by said digital system is operational can be measured when said digital system is designed, analysis tools needed during the design phase of a mixed electronic system with a digital subpart must be based on computations of said overall noise. Such overall noise computation can be a complete digital system simulation, wherein said digital system with each of said gates being described at transistor-level. Such transistor-level simulation however becomes extremely hard to perform for large digital systems with lots of gates.
A method to analyze the noise generation of large digital circuits is presented by E. Charbon et.al. (“Modeling Digital Substrate Noise Injection in Mixed-Signal IC's”, IEEE Trans. on C.A.D. of Integrated Systems, vol 18, no.3, mar'99). The authors characterize the noise generation of single digital gates by analyzing the noise injected into the substrate by this gate (called a noise signature). This noise signature is derived by looking at the substrate current generated by the n-MOSFETs of the digital gate. It is assumed that the p-MOSFETs, which are located in an isolated n-well, do not contribute to the noise signature. The authors also assume that the shape of the noise signatures are related to the output switching activity of the digital gates. After these noise signatures have been extracted, an event-driven (digital) simulation of the circuit is performed to extract the switching events. The switching events are combined with the noise signatures to determine the total injected substrate current. The resulting voltage is not calculated. Also noise coupling from the power supply is not taken into account.
Another technique to estimate the substrate noise generation is presented by M. Nagata et.al. (“Substrate Noise Simulation Techniques for Analog-Digital Mixed LSI Design”, IEICE Trans. Fundamentals, vol. E82-A, no.2, feb.'99). They use a mathematical noise signal, which is appointed to each switching event. By summing up all these signals as function of the digital switching events, the total substrate voltage is derived. This signal is however only a rough estimate and not an accurate waveform of the noise signal, as it is based on said mathematical noise signal of a predetermined or fixed shape. Gate dependency can not be accurately be modeled.
Another substrate noise simulation method, which does take noise coupling from the power supply into account, is presented by S. Mitra et.al. (“A Methodology for Rapid Estimation of Substrate-Coupled Switching Noise”, IEEE 1995 Custom Integrated Circuit Conference). They assume that the noise coupling from the on-chip power supply is the dominant source of substrate noise. Noise coupling from switching source/drain nodes of MOSFETs is neglected. A commercial power estimator is used to derive the power consumption of the digital circuits. This information is used to estimate an average value for the substrate noise generation. No time waveforms of substrate voltage or noise current are calculated.
There is a need to provide an improved simulation environment for mixed signal systems which uses a reasonable amount of memory space, is reasonably quick to execute and which provides accurate results.